package cn.fl.product.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.product.vo.StepRebatesDetailVO;
import fl.spl.facade.splrebates.dto.StepRebatesDetailDTO;

import java.util.ArrayList;
import java.util.List;

public class StepRebatesDetailVOTransform {


    /**
     * PO 转  DTO
     * @param vo StepRebatesDetailVO
     * @return StepRebatesDetailDTO
     */
    public static StepRebatesDetailDTO toDTO(StepRebatesDetailVO vo) {
        StepRebatesDetailDTO  dto = null;
        if (vo != null) {
            dto = new StepRebatesDetailDTO();
            dto.setId(vo.getId());
            dto.setStepRebatesId(vo.getStepRebatesId());//主表ID
            dto.setStarAmt(vo.getStarAmt());//开始金额
            dto.setEndAmt(vo.getEndAmt());//结束金额
            dto.setIsDel(vo.getIsDel());//是否删除
            dto.setRate(vo.getRate());//返利比例
            dto.setStep(vo.getStep());//当前阶梯值

            dto.setCrtTm(vo.getCrtTm());//创建时间
            dto.setCrtUsrId(vo.getCrtUsrId());//创建人
            dto.setMdfTm(vo.getMdfTm());//修改时间
            dto.setMdfUsrId(vo.getMdfUsrId());//修改人
        }
        return dto;
    }

    /**
     * DTO 转  PO
     * @param dto StepRebatesDetailDTO
     * @return StepRebatesDetailVO
     */
    public static StepRebatesDetailVO toVO(StepRebatesDetailDTO dto) {
        StepRebatesDetailVO vo = null;
        if (dto != null) {
            vo = new StepRebatesDetailVO();
            vo.setId(dto.getId());
            vo.setStepRebatesId(dto.getStepRebatesId());//主表ID
            vo.setStarAmt(dto.getStarAmt());//开始金额
            vo.setEndAmt(dto.getEndAmt());//结束金额
            vo.setIsDel(dto.getIsDel());//是否删除
            vo.setRate(dto.getRate());//返利比例
            vo.setStep(dto.getStep());//当前阶梯值

            vo.setCrtTm(dto.getCrtTm());//创建时间
            vo.setCrtUsrId(dto.getCrtUsrId());//创建人
            vo.setMdfTm(dto.getMdfTm());//修改时间
            vo.setMdfUsrId(dto.getMdfUsrId());//修改人
        }
        return vo;
    }

    /**
     * vo集合 转 DTO集合
     * @param list List<StepRebatesDetail>
     * @return List<StepRebatesDetailDTO>
     */
    public static List<StepRebatesDetailDTO> toDTOList(List<StepRebatesDetailVO> list) {
        List<StepRebatesDetailDTO>  voList = new ArrayList<StepRebatesDetailDTO>();
        if(CollectionUtils.isNotEmpty(list)){
            for (StepRebatesDetailVO vo : list) {
                voList.add(toDTO(vo));
            }
        }
        return voList;
    }

    /**
     * vo集合 转 DTO集合
     * @param list List<StepRebatesDetail>
     * @return List<StepRebatesDetailDTO>
     */
    public static List<StepRebatesDetailVO> toVOList(List<StepRebatesDetailDTO> list) {
        List<StepRebatesDetailVO>  voList = new ArrayList<StepRebatesDetailVO>();
        if(CollectionUtils.isNotEmpty(list)){
            for (StepRebatesDetailDTO dto : list) {
                voList.add(toVO(dto));
            }
        }
        return voList;
    }
}
